* {
  margin: 0;
  padding: 0;
}

img {
  width: 150px;
}

.container {
  margin: 50px 0 0 100px;
  h2 {
    margin-bottom: 20px;
  }
  .list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    li {
      position: relative;
      width: 150px;
      height: 150px;
      margin: 0 20px 20px 0;
      img {
        width: 100%;
        height: 100%;
      }
      .close {
        display: none;
        cursor: pointer;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        font-size: 50px;
        color: #dedede;
        font-weight: 100;
        &:hover {
          color: #fff;
        }
      }
      &.file {
        width: 150px;
        height: 150px;
        border: 1px dashed #ccc;
        input {
          width: 100%;
          height: 100%;
          cursor: pointer;
          opacity: 0;
        }
        &::before {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          content: "+";
          font-size: 50px;
          font-weight: 100;
        }
      }
      &:not(:last-child)::before {
        content: "";
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.4);
      }
      &:not(:last-child):hover {
        &::before {
          display: block;
        }
        .close {
          display: block;
        }
      }
    }
  }
}
